/*
    1. 划分日志等级，以便于控制日志的输出。
    2. 提供等级枚举转字符串功能。
*/
#ifndef __MY_LOG_LEVEL_H__
#define __MY_LOG_LEVEL_H__

#include <string>

namespace LzcLog
{
    class LogLevel
    {
    public:
        enum class Value
        {
            DEBUG = 0,
            INFO,
            WARNING,
            ERROR,
            FATAL,
            OFF
        };

        static std::string LogLevelToString(const Value &value)
        {
            switch (value)
            {
            case Value::DEBUG:
                return "DEBUG";
            case Value::INFO:
                return "INFO";
            case Value::WARNING:
                return "WARNING";
            case Value::ERROR:
                return "ERROR";
            case Value::FATAL:
                return "FATAL";
            case Value::OFF:
                return "OFF";
            default:
                return "UNKNOWN";
            }
        }
    };
}

#endif